1. Technical Field
The present invention relates in general to a method and system for data processing and, in particular, to a method and system for monitoring the boot process of a data processing system. Still more particularly, the present invention relates to a method and system for storing step-by-step data detailing of all operations performed during the boot process, such that the data may be obtained in response to a halting of the boot process.
2. Description of the Related Art
A typical data processing system, for example a general-purpose computer, consists of a central processing unit (CPU), memory components, and a number of device controllers that are typically connected through a system of buses that provides access to all shared memory. Each device controller is devoted to control of a specific type of device (e.g. disk drives, audio devices, and video displays). The CPU and device controllers can execute concurrently, competing for memory cycles. To ensure orderly access to the shared memory, a memory controller is typically provided whose function is to synchronize access to the memory.
For a computer to start running, for instance upon power up or reboot, an initial program is necessary. This initial program, or bootstrap program, is typically simple. Preferably, the bootstrap program initializes aspects of the data processing system, from CPU registers to device controllers to memory contents. The bootstrap program must know how to load an operating system and to start execution of the operating system. To load the operating system, the bootstrap program typically locates an operating system kernel, loaded into memory, and jumps to an initial address provided by the operating system kernel. Typically, the operating system is loaded into random-access memory (RAM) within the data processing system. Once loaded and initialized, the operating system controls the execution of programs and may provide services such as resource allocation, scheduling, input/output control, and data management. The operating system also determines the graphical user interface (GUI) provided for displaying data.
In most data processing systems, the bootstrap program is stored in two places. First, part of the bootstrap program may be stored in read-only memory (ROM). ROM is an ideal memory location because the ROM does not require initialization and is always available. However, the part of the bootstrap program stored in ROM is not configurable. Therefore, the configurable aspects of the bootstrap program are preferably stored at a fixed memory location available to the data processing system. The ROM contains instructions to access the part of the bootstrap program stored at a fixed memory location and loads the data into main memory. The location of an operating system kernel is preferably a configurable aspect of the bootstrap program whereby a data processing system is not limited to storage of operating system software at a fixed location.
While the bootstrap program is running, i.e. the data processing system is booting, it is typical for messages to be displayed describing the process being performed. For example, successful initialization of device drivers may be indicated by a message or several messages. Most typically, these messages scroll across the screen as each new message is displayed, whereby messages are often scrolled off the screen as the display fills up. By one method, the user may enter a special key sequence to halt the boot process. Only those messages being displayed when the process is halted may be viewed. Any past messages already scrolled from the screen are lost. Unfortunately, the user may not resume the boot process from this point and must reboot the system.
There are many cases in which access to each step taken by the boot process, while in progress, would be helpful to a user and/or server providing an operating system. For example, in the case of a failure which halts the boot process, accessing each part of the process and determining the success thereof may aid in debugging the boot process. Further, for a system administrator wanting to view the bootstrap program configuration for a particular machine, viewing the process taken during booting would be of importance.
By current methods, a process for accessing all process steps of a boot process is unavailable. Therefore, it would be desirable to provide a technique for viewing all process steps of a boot process before the operating system takes control. Further, it would be desirable to provide for halting the boot process in order to view the process steps, such that the boot process may be resumed thereafter without rebooting.
In view of the foregoing, it is therefore an object of the present invention to provide an improved method and system for data processing.
It is another object of the present invention to provide an improved method and system for monitoring the boot process of a data processing system.
It is further an object of the present invention to provide an improved method and system for storing step-by-step data detailing of all operations performed during the boot process of a data processing system, such that data may be obtained in response to a halting of the boot process.
In accordance with the method and system of the present invention, data detailing each operation performed during a boot process of a data processing system is stored within a memory of the data processing system. All the stored data is then displayed in response to a halting of the boot process, such that step-by-step details of the boot process are available to a user prior to operation of the data processing system by an operating system.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.